package config;

import com.itheima.event.EventSource;
import com.itheima.event.EventZListerner;
import org.springframework.context.annotation.*;

/**
 * spring的配置类 相当于applicationContext.xml 用于替代xml配置
 *
 * 1 @Configuration不可以是final类型；
 * 2 @Configuration不可以是匿名类；
 * 3 嵌套的configuration必须是静态类。
 *
 * @author 黑马程序员 *
 * @Company http://www.itheima.com
 */
@Configuration //在基于注解配置中，是按照类中方法的书写顺序决定的
@ComponentScan("com.itheima")//扫描加载类的时候没有指定顺序默认按类名的ascii码大小顺序加载到容器中
public class SpringConfiguration {

//    @Bean
//    public EventZListerner createEventZListerner(){
//        return new EventZListerner();
//    }

    @Bean
    @DependsOn("createEventZListerner")
    public EventSource createEventSource(){
        return new EventSource();
    }

    @Bean
    public EventZListerner createEventZListerner(){
        return new EventZListerner();
    }

}
